// 服务器响应基本结构，通过泛型指定核心数据的类型
interface ServerResPonse<T> {
  code: number;
  data: T;
  msg: string;
}

Page({
  data: {
    jake: '',
    jakeList: [] as string[],
  },

  // 生命周期页面加载时
  onLoad() {
    this.getData()
  },

  getData() {
    wx.showLoading({ title: '数据加载中...' })
    wx.request({
      method: 'GET',
      url: 'https://api-vue-base.itheima.net/api/joke',
      success: (res) => {
        // console.log(res);
        this.setData({
          jake: res.data as string
        })
      },
      fail: () => {
        wx.showLoading({ title: '加载失败' })
      },
      complete: () => {
        wx.hideLoading()
      }
    })
  },
  getJokeList() {
    // wx.request<开发者服务器返回的数据类型>（）
    wx.request<ServerResPonse<string[]>>({
      method: 'GET',
      url: 'https://api-vue-base.itheima.net/api/joke/list',
      data: {
        num: 10
      },
      success: (res) => { 
        // console.log(res);
        this.setData({
          jakeList: res.data.data
        })
      },
      fail: () => {
        wx.showLoading({ title: '加载失败' })
      },
      complete: () => { // 请求完成，不管成功失败都会执行
        wx.hideLoading()
      }
    })
  }
})